/*
 * @lc app=leetcode.cn id=1441 lang=javascript
 *
 * [1441] 用栈操作构建数组
 */

// @lc code=start
/**
 * @param {number[]} target
 * @param {number} n
 * @return {string[]}
 */
 var buildArray = function (target, n) {
    const result = [];

    // 依然是双指针法，
    // 只不过这个双指针出界条件为 m <= target[target.length - 1]
    // 从判断 i 转为判断 m
    for (let i = 0, m = 1; m <= target[target.length - 1]; m++) {
      result.push("Push");

      target[i] == m ? i++ : result.push("Pop");
    }
    return result;
  };
  // @lc code=end
